/**
 * 验证是否为外部链接
 * @param path 路径
 */
export function isExternal(path: string): boolean {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 验证是否为有效的URL
 * @param url URL
 */
export function isValidURL(url: string): boolean {
  const reg = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/
  return reg.test(url)
}

/**
 * 验证是否为有效的邮箱
 * @param email 邮箱
 */
export function isValidEmail(email: string): boolean {
  const reg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
  return reg.test(email)
}

/**
 * 验证是否为有效的手机号
 * @param phone 手机号
 */
export function isValidPhone(phone: string): boolean {
  const reg = /^1[3-9]\d{9}$/
  return reg.test(phone)
}

/**
 * 验证是否为有效的身份证号
 * @param idCard 身份证号
 */
export function isValidIdCard(idCard: string): boolean {
  const reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
  return reg.test(idCard)
}